|
|
|
|
|
|
|
establishing a sound architectural foundation for a valuable application. A good architecture isn't only valuable to you as a developer, but it's also crucial for your customer, especially if that customer happens to be a large corporation. |
|
|
|
|
|
|
|
|
|
Companies generally implement software systems as corporate assets. Some other Visual Basic programmer will likely need to evolve the system long after you're gone. An architecture that has a clear separation of concerns in the form of objects and components, together with artifacts such as class models and design diagrams, represents a project that has a high chance of success in the short and long term. This book itself was developed with an architecture in which chapters are treated as components and sections as objects. The best lesson you could learn is that a good architecture is beneficial for your reputation and the viability of the customer. |
|
|
|
|
|
|
|
|
Sample Problem: A Bank Teller Information System |
|
|
|
|
|
|
|
|
One of six branches of the Second Bank of Carrollton, a city in Texas, has a team of bank tellers who have been manually performing tasks under the retail banking process umbrella. To open a new checking or savings account, a teller does the following tasks: |
|
|
|
|
|
|
|
|
Physically gather the necessary paperwork. |
|
|
|
|
|
|
|
|
Have the customer decide on a preferred type of account by reading from several brochures. |
|
|
|
|
|
|
|
|
Fill out a paper application in the customer's presence. |
|
|
|
|
|
|
|
|
Have the customer fill out a signature card. |
|
|
|
|
|
|
|
|
Establish a session on a mainframe host terminal with a check account history verification system. |
|
|
|
|
|
|
|
|
On approval, call a central retail banking worker to obtain an available account number. That worker establishes a mainframe session on a system that tracks all accounts for the bank across the city. |
|
|
|
|
|
|
|
|
The branch manager finds this process too time-consuming. The average time to open a new account is a little more than an hour. She calls Samsona Software Company for help. Samsona uses object-oriented methodologies to solve such problems. |
|
|
|
|
|
|
|
|
As a consultant for Samsona, you're given the job. You ask questions about the customer's domain, taking notes on your notebook computer. You discover that the check account history verification system sometimes takes five to ten minutes to respond to the teller. You also find that bank policy requires that new account applications be done in |
|
|
|
|
|